MUI Autodocs: Palette.mui

Copyright © 1998, Stefan Stuntz




Palette.mui Background

        Palette class generates a (big) group of objects, alltogether
        making up a powerful palette requester. Due to the new color
        selection schemes of Kickstart 3.x, you won't get a "traditional"
        palette requester with 2^n fields to fill in. These things
        really stop making sense on nice 256 or true color screens.

        Instead, MUI's palette class allows defining a list of colors
        that the user should be able to adjust. Within a public screen
        manager, this would e.g. be the DrawInfo pens for a specific
        screen, within a terminal program maybe the eight ANSI colors.

        Palette class uses a listview to let the user choose the
        desired color, a coloradjust object to adjust this color
        and a colorfield object that always shows the current color.

        The user will also be able to concatenate several colors
        in the list, defining a single color for several entries.



Palette.mui Attributes

    Attribute                           Ver ISG Type
    ----------------------------------- --- --- --------------------
    MUIA_Palette_Entries                V6  I.G struct MUI_Palette_Entry *
    MUIA_Palette_Groupable              V6  ISG BOOL
    MUIA_Palette_Names                  V6  ISG char **


MUIA_Palette_Entries

    NAME
        MUIA_Palette_Entries -- (V6 ) [I.G], struct MUI_Palette_Entry *

    FUNCTION
        Specify the colors that the user should be able to adjust
        with this palette object.

        You supply an array of MUI_Palette_Structures here, each
        entry defining one color:

        struct MUI_Palette_Entry
        {
           LONG  mpe_ID;
           ULONG mpe_Red;
           ULONG mpe_Green;
           ULONG mpe_Blue;
           LONG  mpe_Group;
        };

        mpe_ID   :  This entry is not used by palette class, you can
                    put in whatever you want, except the value
                    MUIV_Palette_Entry_End (==-1),
                    which terminates the array.

        mpe_Red  :  32-bit red component of the current color. This
                    field will be changed by palette class whenever
                    the user edits the color.

        mpe_Green:  32-bit green component of the current color. This
                    field will be changed by palette class whenever
                    the user edits the color.

        mpe_Blue :  32-bit blue component of the current color. This
                    field will be changed by palette class whenever
                    the user edits the color.

        mpe_Group:  Entries with the same mpe_Group value are
                    concatenated. Whenever a new color in the
                    listview is selected, all other colors with
                    the same mpe_Group get selected as well and
                    get adjusted all at once.
                    Entry concatenation can be changed by the user,
                    as long as you don't disable this feature with 
                    the MUIA_Palette_Groupable attribute.

    EXAMPLE

        static struct MUI_Palette_Entry SystemDefaultPalette[] =
        {
           { TEXTPEN         ,0x00000000,0x00000000,0x00000000,0 },
           { SHINEPEN        ,0xffffffff,0xffffffff,0xffffffff,1 },
           { SHADOWPEN       ,0x00000000,0x00000000,0x00000000,0 },
           { FILLPEN         ,0x66666666,0x88888888,0xbbbbbbbb,2 },
           { FILLTEXTPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
           { BACKGROUNDPEN   ,0xaaaaaaaa,0xaaaaaaaa,0xaaaaaaaa,3 },
           { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,1 },
           { BARDETAILPEN    ,0x00000000,0x00000000,0x00000000,0 },
           { BARBLOCKPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
           { BARTRIMPEN      ,0x00000000,0x00000000,0x00000000,0 },
           { MUIV_Palette_Entry_End,0,0,0,0 },
        };

   SEE ALSO
        MUIA_Palette_Names


MUIA_Palette_Groupable

    NAME
        MUIA_Palette_Groupable -- (V6 ) [ISG], BOOL

    FUNCTION
        Enables/disables palette color grouping.
        Defaults to TRUE.

    SEE ALSO
        MUIA_Palette_Entries


MUIA_Palette_Names

    NAME
        MUIA_Palette_Names -- (V6 ) [ISG], char **

    FUNCTION
        Specify the names of a palette objects color entries.
        Without names, the color listview just displays
        "Color <n>" for each entry. If you supply an array
        of names here, they are displayed instead. The
        names array must have as many entries as the
        array of MUI_Palette_Entry structures (without
        its terminator).

    EXAMPLE

        static struct MUI_Palette_Entry ColorEntries[] =
        {
           { TEXTPEN         ,0x00000000,0x00000000,0x00000000,2 },
           { SHINEPEN        ,0xffffffff,0xffffffff,0xffffffff,4 },
           { SHADOWPEN       ,0x00000000,0x00000000,0x00000000,5 },
           { FILLPEN         ,0x66666666,0x88888888,0xbbbbbbbb,3 },
           { FILLTEXTPEN     ,0xffffffff,0xffffffff,0xffffffff,6 },
           { BACKGROUNDPEN   ,0x00000000,0x00000000,0x00000000,7 },
           { HIGHLIGHTTEXTPEN,0xffffffff,0xffffffff,0xffffffff,8 },
           { BARDETAILPEN    ,0x00000000,0x00000000,0x00000000,9 },
           { BARBLOCKPEN     ,0xffffffff,0xffffffff,0xffffffff,1 },
           { BARTRIMPEN      ,0x00000000,0x00000000,0x00000000,0 },
           { MUIV_Palette_Entry_End,0,0,0,0 },
        };

        static const char *ColorNames[] =
        {
           "Text"                ,
           "Bright Edges"        ,
           "Dark Edges"          ,
           "Active Window Bars"  ,
           "Active Window Titles",
           "Background"          ,
           "Important Text"      ,
           "Menu Text"           ,
           "Menu Background"     ,
           "Menu Line"
        };

        po = PaletteObject,
           MUIA_Palette_Entries, ColorEntries,
           MUIA_Palette_Names  , ColorNames,
           End;

    SEE ALSO
        MUIA_Palette_Entries





© 1998, Stefan Stuntz [MUI Homepage] [Autodoc Index] [Feedback] Updated: 01-Jan-98